home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 5
/
Amiga Plus Sonderheft 1996 #5.iso
/
programme
/
imagedesk304
/
autocat
/
autocat1.idesk
< prev
next >
Wrap
Text File
|
1996-03-13
|
4KB
|
164 lines
/* ---------------- Steuerdatei für ImageDesk ------------------- */
/* */
/* A U T O C A T */
/* */
/* AREXX-Script zur vollautomatisierten Steuerung von Katalogen */
/* 1. Teil: */
/* Ladescript für den Start */
/* */
/* von Ulrich Röcher, roecher@fts.uni-siegen.de */
/* */
/*----------------------------------------------------------------*/
/* Die folgenden Optionen müssen vom User gesetzt werden: */
CDIR="work:Kataloge/" /* CDIR: Einstiegsverzeichnis */
CTYP="BMP" /* CTYP: Bildformat für Befehle */
/* -------------------------------------------------------------- */
OPTIONS RESULTS
if( ADDRESS() ~= "IDESK_REXXPORT") then
ADDRESS IDESK_REXXPORT
CALL ADDLIB("rexxsupport.library",0,-30,0)
if ~show('L', "rexxsupport.library")
then do
if ~addlib('rexxsupport.library',0,-30,0)
then
ERRORMSG '"Added rexxsupport.library"'
else do
ERRORMSG '"Rexxsupport.library not available, exiting..."'
exit 10
end
end
Lfd_Nr=0 /* seit letztem Verzeichniswechsel geladene Thumbnails */
Akt_Kat=0 /* vom aktuellen Katalog geladene Bilder */
Kat_Nam=" " /* Name des aktuell geladenen Katalogs */
ADIR=CDIR
dummy=setclip('CDIR',CDIR)
dummy=setclip('ADIR',ADIR)
dummy=setclip('CTYP',CTYP)
dummy=setclip('AnzTN',"")
dummy=setclip('Aktu',0)
CLEANDESK
/* Ermittlen des Grafik-Modus */
GETSYSINFO GFXMODE
graphics = RESULT
dummy=setclip('GFX',graphics)
/* Abschalten der Thumbnail-Sortierung */
SETSPREFS THUMBSORT FALSE
/* Ermitteln der Head-Dateien */
x=1
y=0
ihvz=""
do until x=0
if y>0 then do
wx=CHR(y)
if pos("0",wx)=1 then wx=substr(wx,2,length(wx)-1)
erg="."||wx
end
else do
erg=""
end
name="Head.cat"||erg
name1=CDIR||name
if exists(name1) then do
if ihvz~="" then ihvz=ihvz||" "
ihvz=ihvz||name
x=1
end
else do
x=0
end
y=y+1
end
name=ADIR||Word(ihvz,1)
OPENCAT name 1 1
GETTPREFS TSIZE
THGR = RESULT
select
when THGR="SMALL" then do
Command=Command.cat.6
end
when THGR="STD" Then do
Command=Command.cat.8
end
when THGR="BIG" Then do
Command=Command.cat.10
end
when THGR="HUGE" Then do
Command=Command.cat.12
end
when THGR="XLARGE" Then do
Command=Command.cat.15
end
end
GETSYSINFO DESKSPACE
MAXENTRY = RESULT
dummy=setclip('Command',Command)
dummy=setclip('ihvz',ihvz)
dummy=setclip('MAXENTRY',MAXENTRY)
SETSPREFS DEFACTION "REX"
SETSPREFS DEFAREXX "rexx/AUTOCAT2.IDesk"
SETSPREFS PRINTCOMMAND "FALSE"
Aktu=1 /* Aktu: Nummer des aktuell zu ladenden Katalogs */
Lfd_Nr=1
temp=1
Start=2
AnzTN='' /* AnzTN: Zeichenkette enthält Anzahl der TNs der Katas. */
AnzKats= words(ihvz)
DO until (Aktu=AnzKats+1) && (Lfd_Nr=(MAXENTRY-1))
name=ADIR||Word(ihvz,Aktu)
OPENCAT name Start (MAXENTRY-1-Lfd_Nr)
GETSYSINFO THUMBSUSED
Lfd_Nr = RESULT
kat=Lfd_Nr-temp
tempx=CHR(kat)
if AnzTN="" then do
AnzTN=CHR(kat)
end
else do
AnzTN=AnzTN||"-"||CHR(kat)
end
temp=Lfd_Nr
Start=1
Aktu=Aktu+1
end
if Lfd_Nr=MAXENTRY-1 then OPENCAT CDIR||Command 3 1
dummy=setclip('Aktu',Aktu-1)
AnzTN=strip(AnzTN)
dummy=setclip('AnzTN',AnzTN)
exit
CHR: PROCEDURE
/* wandelt Zahlen in Zeichenketten um */
parse arg zahl
Wert=''
DO until zahl<10
zw=Zahl//10
Zahl=Zahl%10
ch=d2c(zw+48)
Wert=ch||Wert
end
ch=d2c(Zahl+48)
wert=ch||Wert
Return Wert